package com.itheima.pattern.t2_factory.demo3;

/**
 * 工厂方法模式：
 * 定义一个用于创建对象的接口，让子类决定实例化哪个产品类对象。
 * 工厂方法使一个产品类的实例化延迟到其工厂的子类。
 */
public class TestDemo {

    public static void main(String[] args) {
        // 创建咖啡店对象
        CoffeeStore store = new CoffeeStore();
        // 创建工厂对象
        // CoffeeFactory factory = new AmericanCoffeeFactory();
        CoffeeFactory factory = new LatteCoffeeFactory();
        store.setFactory(factory);

        // 点咖啡
        Coffee coffee = store.orderCoffee();
        System.out.println(coffee.getName());
    }
}
